/**
 *
 * @author nan
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String dni = "2.000.300";
        System.out.println(verificaString(dni));

        // TODO code application logic here
    }

    public static boolean validarFecha(String fecha){           
         if(validarFormatoFecha(fecha)){                 
                 StringTokenizer srt= new StringTokenizer(fecha);
                 String dia=srt.nextToken("/");
                 String mes=srt.nextToken("/");
                 String año=srt.nextToken("/");                  
                 return validarMes(mes) && validarAño(año) && validarDia(dia,mes,año);                                           
         }
         else{                   
                return false; 
         }       
     }

     public static boolean validarFormatoFecha(String fecha){            
         return fecha.charAt(2)=='/'&& fecha.charAt(5)=='/' && fecha.length()==10;
     }
     
     public static boolean validarMes(String mes){       
                 return esNumero(mes) && Integer.parseInt(mes)<=12 && Integer.parseInt(mes)>0;          
     }
     
     public static boolean validarAño(String año){      
                 return esNumero(año) && Integer.parseInt(año)<=2100 && Integer.parseInt(año)>1900;      
    }
     
     public static boolean validarDia(String dia,String mes,String año){         
         return esNumero(dia)&& Integer.parseInt(dia)>0 && Integer.parseInt(dia)<= mes(Integer.parseInt(mes),Integer.parseInt(año));
     }
          
     public static int mes(int mes,int año){
         int aux=0;
         switch (mes){
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:         
                        aux=31;
                        break;
                case 4:
                case 6:
                case 9:
                case 11:
                        aux=30;
                        break;
                case 2:
                          {                              
                                  if((año % 4 == 0 && año % 100 != 0) || año % 400 == 0){
                                          aux=29; 
                                          break;
                                  }      
                                  else{
                                          aux=28;
                                          break;
                                  }
                          }      
         }
         return aux;
     }
     
     public static boolean esNumero(String num) {         
         boolean valido = true;
         char c;
         
         for (int i = 0; i < num.length() && valido; i++) {
                 
             c = num.charAt(i);
             valido = ((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9'));
         
         }
         
         return valido;         
     }

    public static boolean verificaDNI(String nombre){
        String aux = new String();
        boolean ResB = true;
        if(nombre.charAt(2)=='.' && nombre.charAt(6) == '.' && nombre.length() == 10){
            for (int i=0;i<nombre.length();i++){
                if (i == 2||i==6){
                    i++;
                }
                char s = nombre.charAt(i);
                System.out.println(s);
                if (!(s=='0'||s=='1'||s=='2'||s=='3'||s=='4'||s=='5'||s=='6'||s=='7'||s=='8'||s=='9')){
                    System.out.println("entre");
                    ResB = false;
                    break;
                }

            }
        }else{
            ResB = false;
        }
        return ResB    ;
    }

    public static boolean validarCadena(String cadena){
	   return esLetra(cadena) && cadena.length()<=60;
    }

    public static boolean esLetra(String nombre) {
           boolean valido = true;
           char c;
           for (int i = 0; i < nombre.length(); i++) {
            	c = nombre.charAt(i);
                 System.out.println(c);
          	 if ((((int)c < 65) || (((int)c)>90 && ((int)c<97)) || ((int)c>122) || ((int)c==32 ))&& !(c == ' ')) {
           	 	//	Si no es una letra mayuscula/minuscula o "espacio", no es un nombre valido
           	 	valido = false;
           	 }
           }
           return valido;
    }


}

